Безопасная сделка сдэк: «Наложка» от СДЭК – доставка для тех, кто продает

Безопасная сделка сдэк: «Наложка» от СДЭК – доставка для тех, кто продает

как работает, исключено ли мошенничество, отзывы

Безопасная сделка логистической компании СДЭК – это новый сервис, позволяющий клиентам заказывать безопасную доставку отправлений. Воспользовавшись данной услугой перевозчика, и отправитель, и получатель могут не переживать за возможные мошеннические действия, связанные с доставкой посылок. Необходимо всего лишь разобраться, как воспользоваться данной услугой компании-перевозчика.

Содержание

  1. Условия отправки посылок физическими лицами через СДЭК
  2. Услуга «Безопасная сделка» — что собой представляет
  3. Как оформить через СДЭК безопасную сделку
  4. Оплата «Безопасной сделки»

Условия отправки посылок физическими лицами через СДЭК

История СДЭК начиналась с небольшой фирмы-перевозчика. Сегодня это достаточно большая компания федерального уровня, которая предоставляет свои услуги не только на территории России, но и в других странах.

Ежедневно через СДЭК проходит более 150 тыс. отправлений. Услугами компании пользуется больше 1 млн. клиентов. Перевозчик доставляет посылки по всему миру в тысячи населенных пунктов, десятки стран.

Физическим лицам, делающим отправления через СДЭК, важно удобство оплаты предоставляемых услуг, а также наличие возможности отслеживать в реальном времени путь следования посылки. Поэтому каждого клиента интересует не только безопасная покупка товара, но и его гарантированная доставка через СДЭК, в т.ч. как все это работает.

Перевозчик предлагает своим клиентам разные тарифные планы для оформления и доставки посылок, количество которых постоянно растет. Сегодня действуют следующие тарифы:

  • «Посылочка» — самый удобный вариант. Вес посылки – не более 12 кг, период доставки – от 2-х суток. Основные преимущества: невысокая фиксированная стоимость, скорость доставки, возможность отслеживать отправление в пути следования;
  • «Экспресс-Лайт» — доставка мелких грузов массой не более 29 кг, документов. Срок доставки отправлений – от 1 дня;
  • «Экономичный экспресс» — сравнительно быстрая доставка – от 3-х суток, недорогой тариф;
  • «Блиц экспресс» — доставка документов массой не более 5 кг;
  • «Супер экспресс» — доставка в течение 1-2 дней негабаритных грузов и документов;
  • «Магистральный суперэкспресс» — наземная недорогая доставка отправлений до установленного времени. Период доставки – от 1 дня;
  • «Магистральный экспресс» — наземная недорогая доставка в течение 1-2 дней;
  • «Экспресс тяжеловесы» — доставка больших грузов массой от 30 кг. Период доставки – от 1 дня;
  • «Международный экспресс грузы» — доставка грузов из России в другие страны и наоборот. Период доставки посылки – от 5-ти суток;
  • «Международный экспресс документы» — доставка документации за рубеж в течение 5-ти и более суток.

Компания-перевозчик предлагает своим клиентам 4 варианта доставки на выбор:

  • Курьерская отправка/доставка – от двери отправителя до двери получателя;
  • Отправка посылки непосредственно в отделении СДЭК, доставка получателю курьером;
  • Отправка курьером, получение в пункте выдачи СДЭК;
  • Отправка через отделение и получение тоже в отделении СДЭК (самовывоз из пункта выдачи).

Тариф «Посылочка» предусмотрен только для отправлений из отделения одного населенного пункта в отделение другого НП. Остальные тарифные планы позволяют воспользоваться услугами курьерской доставки.

Ознакомившись с тарифами СДЭК, каждый потенциальный клиент также интересуется, что такое безопасная сделка, какие есть варианты доставки, как это работает.

Услуга «Безопасная сделка» — что собой представляет

Безопасная сделка от СДЭК первым делом предназначена для клиентов, которые максимально хотят обезопасить свои покупки через интернет-магазины. Сегодня имеется достаточно большое количество различных онлайн площадок, на которых предлагают самые разнообразные товары, поэтому существуют большие риски попасть на мошенников. Чтобы этого избежать, рекомендуется пользоваться формой оплаты «Наложенный платеж».

Преимущества сервиса:

  • Совершение сделок купли/продажи 24 часа в сутки через интернет без посещения магазинов, банков и юридических контор;
  • Как покупателем, так продавцом может быть любое физическое лицо;
  • Спорные вопросы между продавцом и покупателем разрешает специальная команда профессионалов;
  • Денежные средства поступают на счет продавца товара только после закрытия сделки обеими сторонами.

Как оформить через СДЭК безопасную сделку

Как же работает доставка товаров через компанию СДЭК, как заключается безопасная сделка?

На первом этапе (перед заключением сделки) осуществляется устная договоренность между продавцом и покупателем какого-либо товара. Например, обговаривается стоимость товара, возможная скидка и прочие нюансы взаимодействия. После этого участники сделки посещают портал «Наложка», где каждый из них создает новую сделку. На главной странице сайта есть специальный онлайн-калькулятор, которым можно при желании воспользоваться для предварительного расчета стоимости услуг.

Если участник уже зарегистрирован на данном портале, ему просто необходимо нажать «Создать сделку». В противном случае обязательно надо будет пройти несложную регистрацию и создать собственный аккаунт. Для этого вверху интернет страницы необходимо нажать иконку профиля, чтобы открылась ссылка для регистрации нового пользователя.

Далее безопасная сделка оформляется участником через СДЭК в следующем порядке:

  1. Пользователю необходимо добавить товар в специальную форму безопасной сделки, в т. ч. одновременно несколько товаров. Для этого надо нажать кнопку с плюсом, выбрать продукт;
  2. Далее необходимо загрузить фото товара в строку «Описание сделки», описать характеристики данного продукта;
  3. Обязательно надо добавить важные условия сделки, например, товар б/у и пр.;
  4. Далее необходимо вставить данные о самой посылке в поле «Информация о доставке», т.е. тип, габариты и массу отправления, указать из какого населенного пункта осуществляется отправка груза, и в какой он должен быть доставлен;
  5. Также необходимо отметить, кто оплачивает услуги, в стоимость которых входит доставка и страховка отправления;
  6. В конце заполняется поле «Итог», где указывается общая стоимость сделки согласно выбранным параметрам сервиса СДЭК. Чтобы безопасная сделка была завершена для физ лиц, надо нажать кнопку внизу заполненной формы «Создать сделку». После этого все обязательства по доставке товара получателю и оплате его продавцу переходят компании-перевозчику СДЭК.

Оплата «Безопасной сделки»

Устная договоренность участников сделки о том, кто на себя берет оплату доставки товара, является важным этапом данной процедуры. Стоимость доставки рассчитывает компания-перевозчик, исходя из следующих параметров:

  • Стоимость товара;
  • Габариты груза;
  • Расстояние между пунктом отправки и доставки.

При изменении условий доставки отправления, стоимости и прочих параметров после оформления заявки, окончательная цена услуг может стать выше.

Что рекомендуется учитывать при оформлении безопасной сделки через компанию СДЭК:

  • Если доставку оплачивает продавец товара, тогда денежные средства будут удержаны из суммы, внесенной продавцом в сервисе «Наложка»;
  • Если за доставку платит покупатель (получатель), стоимость услуги прибавляется к цене товара;
  • При изменении цены во время перевозки посылки ответственность за затраты по доставке ложится на продавца товара. Покупатель может оплатить дополнительные расходы по доставке сверх суммы, указанной в договоре, исключительно по собственному желанию.

Все условия прописываются в форме, которую в обязательном порядке заполняют оба участника сделки. Покупатель оплачивает сделку согласно договору одним платежом всю сумму на 100% наличными либо банковской картой.

Если в форме не указана курьерская доставка, покупатель забирает посылку самостоятельно в пункте выдачи СДЭК. Услуга «Безопасная сделка» предоставляет возможность снизить мошенничество до минимума. Перед тем, как произвести оплату посылки, получатель вправе осмотреть товар и в случае обнаружения его повреждения может от него отказаться. При этом перевозчик гарантирует отправителю отсутствие издержек.

Благодаря оплате за товар из интернет-магазинов наложенным платежом получатель может не переживать, что в посылке окажется другой товар, поврежденный либо плохого качества, т. к. денежные средства переводятся продавцу только после приема заказа покупателем.

Многие клиенты СДЭК высоко оценили, что такое сервис «Безопасная сделка», о чем говорят многочисленные положительные отзывы.

Как я не попался на развод через доставку СДЭК — Rifat Kayumov на vc.ru

Добрый день, читатели vc.ru. Меня зовут Рифат и я чуть не попался на удочку очередных мошенников, при попытке продать фотоаппарат. Но на этот раз прокладкой послужил не авито-доставка, а СДЭК. Расследование будет с фоточками и хрипотцой обманщицы, не пропустите!

141 044 просмотров

Обычный рабочий день, сижу работаю, никого не трогаю, как вдруг в вацап падает сообщение — «Здравствуйте, я видела ваше объявление о продаже фотоаппарата, на Авито, хотела уточнить пару моментов» от некой Алины. Ну я первым делом подумал что сейчас начнут спрашивать про способ доставки, а можно ли через авито-доставку и тп. Но нет, на удивление мадам начала с достойных вопросов — какой пробег и давно ли чистил матрицу… В общем, я некоторое время пообщался с Алиной и в был вполне удовлетворен диалогом.

Далее пошел вопрос оплаты и доставки, и оказалось, что девушка (а это точно лицо женского пола, тк голос явно женский — она некоторые сообщения отправляла голосом) «проживает» в славном городе Уфа. Вот сразу после этой фразы я понял, что не хочу продолжать беседу и пойти дальше заниматься работой, но нет — я же ТЕСТИРОВЩИК, я должен пройти этот путь!

Засучив рукава, я начал высказывать сомнения в авито-доставке, тк часто читаю о подобном на vc. Но тут мне вдруг прилетает заверение, что мол, проблем нет, давай СДЭК, хуэк, да хоть Почту Роисии! Меня это обрадовало, тк СДЭКу я как-то больше доверяю, но самое приятное, что их пункт находится прямо у меня в доме и я могу спокойно спуститься к ним и обсудить все, перед отправкой. В общем, я соглашаюсь и начинаю потихоньку готовить аппарат и все хохоряшки. Так же мадам попросила от меня ФИО и почту, на которую придет ссылка на безопасную сделку.

Скажу откровенно, я не знал что такие вещи существуют, и даже беглый гуглеж не дал внятного разъяснения — это в общем-то камень в огород СДЭКа и его сервису Наложка — надо лучше рекламировать свои сервисы и делать их проще в применении.

Еще немного обсудили сделку, подправили цену и переходим к самому приятному.

Взлом меня

Итак, переходим к самому интересному! Мне на почту падает ссылка от СДЕКа:

Письмо от «сдэка»

Письмо выглядит немного топорным, как по мне, но я порой такие сайты и письма вижу, что не удивлен. Но вот что меня насторожило, так это 2 вещи: кнопка Перейти к получению средств и то, кто был отправителем — [email protected]. Кривая формулировка на кнопке как-бэ намекает на то, слишком уж быстро переходим к деньгам. Да и почта на домене Яндекса как-то странно (кстати, уже когда пишу этот текст вижу, что sdek в названии написано неверно). Но мне ничего не страшно, я жадный и хочу перейти к получению средств! Смотрим что нас ждет:

Следующий шаг развода — чушь на чуши!

Считаем косяки: урл адреса явно не сдековый cdek.ru.safe-payment.site/track54520567, код отслеживания (как мне потом сказали в СДЭКе не их, а почты роисии), улицы Свиридова в Уфе нет, адрес откуда — просто Екб.

В общем, ежики плакали, но продолжали жрать кактус. Идем дальше и жмем на зеленую кнопку!

Всякое принимают, а Мир нет ):

Chat на английском, кнопка Продолжить наехала на текст и, как странно, нигде не просят ввести cvc, что вроде радует. Но стоит ввести Имя и Номер, а затем нажать на Продолжить, то мы получаем:

Кра-со-та!

Но мы не сдаемся и вводим оставшиеся данные:

Удивительно, но форма принимает всякие карты и не ругается на невалидные

А затем я вижу еще одно гениальное окно — видимо, что бы было проще потом снимаьт необходимую сумму…

Подтверждаем и попадаем на сайт банка СДЕК!

Косяки, я думаю, вы найдете и сами

Естественно, я прошел все шаги со сгенерированной (из головы) картой и данными, а потому мадам может долго пытаться снять деньги с несуществующей карты…

Неприятные выводы

Меня уже разводили подобным образом, когда я продавал другой фотоаппарат, но там был голимый Авито развод, который я раскусил на первом же предложении. Тут я вижу более хитрый подход — сначала просто поговорить про товар, голосовые сообщения, для доверия (как по мне). Так же вполне себе добротно сделанные сайты, рассылка. К тому же, реально есть разные сайты и заготовки, тк мадам предлагала любой способ доставки, а значит может подкинуть и Боксбери и Почту.

Послесловие

Я конечно расстроился, тк уже представлял, что старый добрый Canon 30D уйдет в руки человека, который в нем заинтересован. А на том конце заинтересованы в обмане людей…

Так же я сходил в отделение СДЭК, где еще раз с сотрудниками пробежали по письму и всем сайтам. Там подтвердили, что у их сервиса Наложка все совсем по-другому происходит.

Кстати, я потом еще её написал, хотел узнать, как совесть поживает…

Спится ей нормально, как видно и совесть не мучает совершенно

Что нового в стандарте безопасности PCI 3DS SDK версии 1.1?

Сегодня PCI SSC опубликовал незначительную редакцию стандарта безопасности PCI 3-D Secure Software Development Kit (3DS SDK), который поддерживает компонент EMV® 3-D Secure Protocol and Core на стороне мобильного устройства. Функционирует в соответствии со спецификацией и продвигает передовые методы обеспечения безопасности при разработке и обслуживании пакетов SDK.

 3DS SDK — это программное обеспечение для упрощения аутентификации держателей карт, встроенное в мобильное приложение продавца. Когда держатель карты инициирует транзакцию в приложении (мобильном), 3DS SDK связывается с 3DS Core Components для аутентификации держателя карты.

В этом посте мы поговорим с менеджером по стандартам PCI SSC Джейком Марсинко о пересмотренном стандарте и о том, что нужно знать заинтересованным сторонам индустрии платежных карт.

Почему PCI SSC пересматривает стандарт безопасности PCI 3DS SDK сейчас?

Джейк Марсинко:  Ранее в этом году PCI SSC представила программу PCI 3DS SDK Program для тестирования и проверки продуктов 3DS SDK, которые соответствуют требованиям Стандарта безопасности PCI 3DS SDK для обеспечения безопасности на протяжении всей транзакции 3DS. Чтобы поддержать реализацию этой программы, мы обновили стандарт безопасности PCI 3DS SDK, включив более подробные процедуры для лабораторий PCI 3DS SDK Labs для оценки этих продуктов. Обновления включают отзывы, полученные в течение запрос комментариев (RFC) период с организациями-участниками PCI SSC и лабораториями, признанными PCI.

Вводятся ли какие-либо новые требования в версию 1.1?

Джейк Марсинко: Нет, в версии 1.1 стандарта безопасности PCI 3DS SDK нет новых требований. Для удобства навигации к каждому требованию были добавлены заголовки, а процедуры оценки были обновлены, чтобы предоставить дополнительные сведения и рекомендации для лабораторий PCI 3DS SDK Labs, выполняющих оценку безопасности 3DS SDK.

Что лаборатории PCI 3DS SDK Labs должны знать об обновленном стандарте?

Джейк Марсинко: Добавление более подробных процедур оценки дает лабораториям, оценивающим продукты 3DS SDK, более точное направление для проведения оценок безопасности PCI 3DS SDK. Это позволяет лабораториям убедиться, что у них есть необходимые инструменты и процессы, необходимые для правильной оценки продуктов 3DS SDK. Подробные процедуры оценки также обеспечивают согласованный базовый уровень тестирования безопасности, который будет применяться ко всем продуктам 3DS SDK, оцениваемым в соответствии со стандартом безопасности PCI 3DS SDK.

За обновленным стандартом последуют шаблоны отчетов, которые будут доступны в начале 2019 года.

Только лаборатории, признанные PCI, и лаборатории безопасности EMVCo могут стать лабораториями PCI 3DS SDK. Заинтересованным лабораториям следует связаться с менеджером программы PCI 3DS по телефону [email protected].

Что нужно знать разработчикам и поставщикам продуктов 3DS SDK об обновленном стандарте?

Jake Marcinko: Добавление более подробных процедур оценки дает разработчикам и поставщикам продуктов 3DS SDK лучшее понимание того, как будут оцениваться их продукты 3DS SDK, что, в свою очередь, помогает им разрабатывать свои продукты в соответствии с требованиями.

Разработчикам и поставщикам 3DS SDK рекомендуется ознакомиться с обновленными процедурами оценки, чтобы убедиться, что они понимают, что потребуется для оценки безопасности PCI их продуктов 3DS SDK.

Напоминаем, что разработчики и поставщики продуктов 3DS SDK должны знать, что процесс тестирования PCI SSC отличается от функциональной оценки EMVCo, и что для получения права на оценку безопасности PCI SSC SDK их продукты должны сначала успешно пройти Функциональная оценка EMVCo. Мы рекомендуем разработчикам и поставщикам 3DS ознакомиться с Руководство по программе PCI 3DS SDK , чтобы понять, что требуется для отправки продуктов.

Что нужно знать продавцам и эквайерам об обновленном стандарте?

Джейк Марсинко: Стандарт и программа безопасности PCI 3DS SDK предназначены для поставщиков и лабораторий, которые будут проводить оценки. Продукты 3DS SDK, прошедшие независимое тестирование и проверку на соответствие стандарту с помощью программы PCI 3DS SDK, будут перечислены на веб-сайте PCI SSC, чтобы продавцы и эквайеры могли использовать их при выборе поставщика программного обеспечения.

*EMV® является зарегистрированным товарным знаком в США и других странах и незарегистрированным товарным знаком в других странах. Торговая марка EMV принадлежит EMVCo, LLC.

 

Транзакции Amazon DynamoDB: принцип работы

С помощью транзакций Amazon DynamoDB можно группировать несколько действий вместе и отправлять их в одиночный все или ничего TransactWriteItems или TransactGetItems операция. В следующих разделах описываются операции API, управление емкостью, лучшие практики и другие сведения об использовании транзакционных операций в DynamoDB.

Темы

  • API TransactWriteItems
  • API TransactGetItems
  • Уровни изоляции для транзакций DynamoDB
  • Обработка конфликтов транзакций в DynamoDB
  • Использование транзакционных API в DynamoDB Accelerator (DAX)
  • Управление емкостью для транзакций
  • Рекомендации по транзакциям
  • Использование транзакционных API с глобальными таблицы
  • Транзакции DynamoDB по сравнению с транзакциями AWSLabs клиентская библиотека

API TransactWriteItems

TransactWriteItems — синхронная и идемпотентная операция записи, группирует до 100 действий записи в одну операцию «все или ничего». Эти действия могут быть нацелены до 100 отдельных элементов в одной или нескольких таблицах DynamoDB в рамках одной учетной записи AWS и в тот же Регион. Совокупный размер элементов в транзакции не может превышать 4 МБ. действия выполняются атомарно, так что либо все они завершаются успешно, либо ни одно из них удается.

Примечание

  • Операция TransactWriteItems отличается от операции BatchWriteItem . операции в том смысле, что все содержащиеся в ней действия должны быть выполнены успешно, иначе вообще вносятся изменения. С операцией

    BatchWriteItem возможно, что только некоторые действия в пакете выполняются успешно, а другие нет.

  • Транзакции не могут быть выполнены с использованием индексов.

Вы не можете нацелить один и тот же элемент на несколько операций в рамках одной транзакции. За Например, вы не можете выполнить ConditionCheck , а также Update . действие над одним и тем же элементом в одной и той же транзакции.

К транзакции можно добавить следующие типы действий:

  • Put  — Инициирует операцию PutItem для создать новый элемент или заменить старый элемент новым элементом, условно или без указание любого условия.

  • Обновление  — Инициирует UpdateItem операция редактирования атрибутов существующего элемента или добавления нового элемента в таблицу, если он уже не существует. Используйте это действие для добавления, удаления или обновления атрибутов в существующий элемент условно или без условия.

  • Удалить  — Инициирует операцию DeleteItem для удаления одного элемента в таблице, идентифицированной его первичным ключом.

  • ConditionCheck  — Проверяет существование элемента или проверяет состояние конкретных атрибутов предмета.

После завершения транзакции изменения, сделанные в этой транзакции, распространяются на глобальные вторичные индексы (GSI), потоки и резервные копии. Поскольку распространение не является немедленным или мгновенно, если таблица восстанавливается из резервной копии (RestoreTableFromBackup) или экспортируется в момент времени (ExportTableToPointInTime) в середине распространения, она может содержать некоторые, но не все изменения, сделанные во время последней транзакции.

Идемпотентность

Вы можете дополнительно включить токен клиента при создании Вызов TransactWriteItems , чтобы убедиться, что запрос идемпотент . Создание идемпотентных транзакций помогает предотвратить ошибки приложения, если одна и та же операция выполняется несколько раз из-за соединения тайм-аут или другая проблема с подключением.

Если первоначальный вызов TransactWriteItems был успешным, последующий Вызовы TransactWriteItems

с тем же токеном клиента успешно возвращаются без внесения каких-либо изменений. Если установлен параметр ReturnConsumedCapacity , начальный вызов TransactWriteItems возвращает число возможностей записи единиц, потраченных на внесение изменений. Последующие вызовы TransactWriteItems с тем же клиентским токеном возвращает количество единиц емкости чтения, использованных при чтении предмет.

Важные моменты об идемпотентности

  • Токен клиента действителен в течение 10 минут после завершения запроса, в котором он используется. Через 10 минут любой запрос, в котором используется тот же клиентский токен, рассматривается как новый. запрос. Вы не должны повторно использовать один и тот же токен клиента для одного и того же запроса после 10 минут.

  • Если вы повторите запрос с тем же токеном клиента в течение 10 минут окно идемпотентности, но изменить какой-либо другой параметр запроса, DynamoDB возвращает Исключение IdempotentParameterMismatch .

Обработка ошибок при записи

Транзакции записи не выполняются при следующих обстоятельствах:

  • Когда условие в одном из выражений условий не выполняется.

  • Когда возникает ошибка проверки транзакции из-за более чем одного действия в тот же TransactWriteItems операция нацелена на тот же элемент.

  • Когда запрос TransactWriteItems конфликтует с текущим TransactWriteItems операция над одним или несколькими элементами в Запрос TransactWriteItems . В этом случае запрос завершается с ошибкой TransactionCanceledException .

  • Когда для транзакции недостаточно выделенной емкости завершенный.

  • Когда размер элемента становится слишком большим (более 400 КБ) или локальный вторичный индекс (LSI) становится слишком большим, или аналогичная ошибка проверки возникает из-за изменений совершается по сделке.

  • При ошибке пользователя, такой как недопустимый формат данных.

Дополнительные сведения о конфликте с TransactWriteItems операции обрабатываются, см. Обработка конфликтов транзакций в ДинамоДБ.

TransactGetItems API

TransactGetItems — операция синхронного чтения, которая группирует до 100 Совершить действий вместе. Эти действия могут быть нацелены на до 100 различных элементов в одном или более таблиц DynamoDB в одной учетной записи AWS и регионе. Совокупный размер элементы в транзакции не могут превышать 4 МБ.

Действия Получить выполняются атомарно, так что либо все они завершатся успешно или все они терпят неудачу:

Обработка ошибок при чтении

Транзакции чтения не завершаются успешно при следующих обстоятельствах:

  • Когда запрос TransactGetItems конфликтует с текущим TransactWriteItems операция над одним или несколькими элементами в Запрос TransactGetItems . В этом случае запрос завершается с ошибкой TransactionCanceledException .

  • Когда для транзакции недостаточно выделенной емкости завершенный.

  • При ошибке пользователя, такой как недопустимый формат данных.

Дополнительные сведения о конфликте с TransactGetItems операции обрабатываются, см. Обработка конфликтов транзакций в ДинамоДБ.

Уровни изоляции для транзакций DynamoDB

Уровни изоляции транзакционных операций ( TransactWriteItems или TransactGetItems ) и другие операции следующие.

SERIALIZABLE

Serializable Изоляция гарантирует, что результаты нескольких одновременные операции аналогичны ситуации, когда ни одна операция не начинается до тех пор, пока предыдущая не завершится. законченный.

Существует сериализуемая изоляция между следующими типами операций:

  • Между любой транзакционной операцией и любой стандартной операцией записи ( PutItem , UpdateItem или DeleteItem ).

  • Между любой транзакционной операцией и любой стандартной операцией чтения ( GetItem ).

  • Между операцией TransactWriteItems и TransactGetItems операция.

Хотя существует сериализуемая изоляция между транзакционными операциями, и каждая отдельный стандарт пишет в операции BatchWriteItem , нет сериализуемая изоляция между транзакцией и BatchWriteItem работа как единое целое.

Аналогично, уровень изоляции между транзакционной операцией и отдельной GetItems в BatchGetItem операция сериализуема. Но уровень изоляции между транзакцией и операцией BatchGetItem как unit read-committed .

Один запрос GetItem сериализуем по отношению к TransactWriteItems запросить одним из двух способов: до или после Запрос TransactWriteItems . Несколько запросов GetItem против ключи одновременно TransactWriteItems Запросы могут выполняться в любом порядке, и поэтому результаты read-committed .

Например, если GetItem запросов для элемента A и элемента B выполняются одновременно с запросом TransactWriteItems , который изменяет как элемент A, так и пункт B, есть четыре возможности:

  • Оба запроса GetItem выполняются до TransactWriteItems запрос.

  • Оба запроса GetItem выполняются после Запрос TransactWriteItems .

  • Запрос GetItem для элемента A выполняется до Запрос TransactWriteItems . Для элемента B запускается GetItem . после TransactWriteItems .

  • Запрос GetItem для элемента B выполняется до Запрос TransactWriteItems . Для элемента A выполняется GetItem . после TransactWriteItems .

Если сериализуемый уровень изоляции предпочтителен для нескольких GetItem запросы, используйте TransactGetItems .

READ-COMMITTED

Read-committed Изоляция гарантирует, что операции чтения всегда возвращать зафиксированные значения для элемента — чтение никогда не будет отображать элемент представляющее состояние транзакционной записи, которая в конечном итоге не удалась. Изоляция с фиксированным чтением не предотвращает модификации элемента сразу после операция чтения.

Уровень изоляции фиксируется чтением между любой транзакционной операцией и любым чтением. операция, включающая несколько стандартных операций чтения ( BatchGetItem , Запрос или Сканирование ). Если транзакционная запись обновляет элемент в середина BatchGetItem , Query или Scan операция, последующая часть операции чтения возвращает вновь зафиксированное значение (с ConsistentRead) или, возможно, ранее зафиксированное значение (в конечном итоге согласованные чтения).

Сводка операций

Подводя итог, в следующей таблице показаны уровни изоляции между транзакциями операция ( TransactWriteItems или TransactGetItems ) и другие операции.

Эксплуатация Уровень изоляции

УдалитьЭлемент

Сериализуемый

ПутИтем

Сериализуемый

Элемент обновления

Сериализуемый

GetItem

Сериализуемый

BatchGetItem

Чтение зафиксировано *

BatchWriteItem

НЕ сериализуемый *

Запрос

Чтение подтверждено

Скан

Чтение подтверждено

Прочие транзакционные операции

Сериализуемый

Уровни, отмеченные звездочкой (*), относятся к операции как к единице. Однако, отдельные действия внутри этих операций имеют сериализуемых уровень изоляции.

Обработка конфликтов транзакций в DynamoDB

Конфликт транзакций может возникнуть во время одновременных запросов на уровне элемента для элемента внутри транзакции. Конфликты транзакций могут возникать в следующих сценариях:

  • A PutItem , UpdateItem или DeleteItem запрос для элемента конфликтует с текущим запросом TransactWriteItems , который включает один и тот же элемент.

  • Элемент в запросе TransactWriteItems является частью другого текущего Запрос TransactWriteItems .

  • Элемент в запросе TransactGetItems является частью текущего TransactWriteItems , BatchWriteItem , PutItem , UpdateItem или DeleteItem запрос.

Примечание

  • Когда PutItem , UpdateItem или DeleteItem запрос отклонен, запрос завершается с ошибкой Исключение TransactionConflictException .

  • Если какой-либо запрос уровня элемента в пределах TransactWriteItems или TransactGetItems отклонен, запрос завершается с ошибкой TransactionCanceledException . Если этот запрос завершается неудачно, AWS SDK не повторите запрос.

    Если вы используете AWS SDK для Java, исключение содержит список CancellationReasons, упорядоченный в соответствии со списком элементов в TransactItems Параметр запроса. Для других языков строка представление списка включено в сообщение об ошибке исключения.

  • Если текущий TransactWriteItems или TransactGetItems операция конфликтует с одновременным запросом GetItem , обе операции может преуспеть.

Конфликт транзакций Метрика CloudWatch увеличивается для каждого неудачного запроса на уровне элемента.

Использование транзакционных API в DynamoDB Accelerator (DAX)

TransactWriteItems и TransactGetItems оба поддерживаются в DynamoDB Accelerator (DAX) с теми же уровнями изоляции, что и в DynamoDB.

TransactWriteItems пишет через DAX. DAX проходит TransactWriteItems вызывает DynamoDB и возвращает ответ. Чтобы заполнить кэш после записи, DAX вызывает TransactGetItems в фоновом режиме для каждого элемент в операции TransactWriteItems , которая потребляет дополнительное чтение единиц мощности. (Дополнительную информацию см. в разделе Управление мощностями для транзакций.) Эта функция позволяет логика вашего приложения проста и использует DAX как для транзакционных операций, так и нетранзакционные.

Вызовы TransactGetItems проходят через DAX без элементов кэшируется локально. Это то же поведение, что и для строго согласованных API чтения в ДАКС.

Управление емкостью для транзакций

Включение транзакций для таблиц DynamoDB не требует дополнительных затрат. Вы платите только для операций чтения или записи, которые являются частью вашей транзакции. DynamoDB выполняет два базовых читает или записывает каждый элемент в транзакции: один для подготовки транзакции и один для совершить транзакцию. Две основные операции чтения/записи видны в вашем Показатели Amazon CloudWatch.

Запланируйте дополнительные операции чтения и записи, необходимые для транзакционных API, когда вы выделяете ресурсы для своих таблиц. Например, предположим, что ваше приложение выполняет одну транзакцию в секунду, и каждая транзакция записывает три элемента по 500 байт в ваш Таблица. Для каждого элемента требуется две единицы емкости записи (WCU): одна для подготовки транзакции. и один для совершения транзакции. Следовательно, вам потребуется выделить шесть WCU для Таблица.

Если вы использовали DynamoDB Accelerator (DAX) в предыдущем примере, вы также использовали бы два чтения единиц емкости (RCU) для каждого элемента в вызове TransactWriteItems . Так что вы потребуется выделить шесть дополнительных RCU.

Аналогично, если ваше приложение выполняет одну транзакцию чтения в секунду, и каждая транзакция считывает три 500-байтовых элемента в вашей таблице, вам потребуется подготовить шесть операций чтения единиц мощности (RCU) в таблицу. Для чтения каждого элемента требуется два RCU: один для подготовки транзакции и один для фиксации транзакции.

Кроме того, SDK по умолчанию повторяет транзакции в случае Исключение TransactionInProgressException . Планируйте дополнительные единицы емкости чтения (RCU), потребляемые этими повторными попытками. То же самое верно, если вы повторяете попытку транзакции в вашем собственном коде с использованием ClientRequestToken .

Рекомендации по транзакциям

При использовании транзакций DynamoDB учитывайте следующие рекомендации.

  • Включите автоматическое масштабирование для ваших таблиц или убедитесь, что вы подготовили достаточно пропускная способность для выполнения двух операций чтения или записи для каждого элемента в вашем сделка.

  • Если вы не используете SDK, предоставленный AWS, включите Атрибут ClientRequestToken при создании TransactWriteItems , чтобы убедиться, что запрос является идемпотентным.

  • Не группировать операции вместе в транзакции, если в этом нет необходимости. Например, если одну транзакцию с 10 операциями можно разбить на несколько транзакций без ущерба для корректности приложения, мы рекомендуем разделить сделка. Простые транзакции повышают пропускную способность и повышают вероятность успеха.

  • Несколько транзакций, обновляющих одни и те же элементы одновременно, могут вызвать конфликты которые отменяют транзакции. Мы рекомендуем следовать рекомендациям DynamoDB по работе с данными. моделирование для минимизации таких конфликтов.

  • Если набор атрибутов часто обновляется для нескольких элементов как часть одного транзакцию, рассмотрите возможность группировки атрибутов в один элемент, чтобы уменьшить объем перевод.

  • Избегайте использования транзакций для массового приема данных. Для массовой записи лучше использовать BatchWriteItem .

Использование транзакционных API с глобальными столы

Транзакционные операции гарантируют атомарность, непротиворечивость, изоляцию и устойчивость (ACID) только в пределах региона, в котором изначально была сделана запись. Транзакции не поддерживаются между регионами в глобальных таблицах. Например, если у вас есть глобальная таблица с репликами на востоке США (Огайо) и Запад США (Орегон) и выполнить операцию TransactWriteItems в регионе Восток США (Сев. Вирджиния), вы можете наблюдать частично выполненные транзакции в регионе Запад США (Орегон) по мере репликации изменений. Изменения будут реплицированы в другие регионы только после того, как они были совершены в исходном регионе.

Транзакции DynamoDB и транзакции AWSLabs клиентская библиотека

Транзакции DynamoDB обеспечивают более экономичную, надежную и производительную замену клиентская библиотека транзакций AWSLabs. Мы предложить вам обновить свои приложения, чтобы использовать собственную транзакцию на стороне сервера API.

Javascript отключен или недоступен в вашем браузере.

Чтобы использовать документацию Amazon Web Services, должен быть включен Javascript.

Об авторе

alexxlab administrator

Оставить ответ