{"id":270,"date":"2022-12-20T18:01:17","date_gmt":"2022-12-20T09:01:17","guid":{"rendered":"https:\/\/sal-blog.com\/?p=270"},"modified":"2023-11-08T22:49:17","modified_gmt":"2023-11-08T13:49:17","slug":"%e3%80%90%e3%82%b5%e3%83%b3%e3%83%97%e3%83%abyaml%e3%81%82%e3%82%8a%e3%80%91dynamodb%e3%81%a7%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%a8%e3%82%a4%e3%83%b3%e3%83%87%e3%83%83%e3%82%af%e3%82%b9","status":"publish","type":"post","link":"https:\/\/sal-blog.com\/%e3%80%90%e3%82%b5%e3%83%b3%e3%83%97%e3%83%abyaml%e3%81%82%e3%82%8a%e3%80%91dynamodb%e3%81%a7%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%a8%e3%82%a4%e3%83%b3%e3%83%87%e3%83%83%e3%82%af%e3%82%b9\/","title":{"rendered":"\u3010\u30b5\u30f3\u30d7\u30ebyaml\u3042\u308a\u3011DynamoDB\u3067\u30c6\u30fc\u30d6\u30eb\u3068\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u3092\u4f5c\u6210\u3059\u308b"},"content":{"rendered":"\n

DynamoDB\u3067\u306f\u30c6\u30fc\u30d6\u30eb\u3068\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30dd\u30ea\u30b7\u30fc\u3092\u5206\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002
\u4ee5\u524d\u30de\u30cd\u30fc\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u4e0a\u304b\u3089\u306fGSI\u306b\u30c6\u30fc\u30d6\u30eb\u3068\u540c\u3058\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u3092\u9069\u7528\u3059\u308b<\/span>\u3068\u3044\u3046\u9078\u629e\u80a2\u3057\u304b\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3044\u3064\u306e\u307e\u306b\u304b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3055\u308c\u3066\u30b3\u30f3\u30bd\u30fc\u30eb\u4e0a\u304b\u3089\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002
yaml\u3068\u30b3\u30f3\u30bd\u30fc\u30eb\u4e0a\u305d\u308c\u305e\u308c\u3067\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u8a18\u8f09\u3057\u307e\u3059\u3002<\/p>\n\n\n

\"\"<\/div>
\n

\u4ee5\u524d\u306f\u500b\u5225\u306e\u8a2d\u5b9a\u5024\u3092\u30b3\u30f3\u30bd\u30fc\u30eb\u4e0a\u304b\u3089\u78ba\u8a8d\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u4e0d\u4fbf\u3067\u3057\u305f\u3002\u3053\u306e\u6539\u5584\u306f\u3042\u308a\u304c\u305f\u3044\u3067\u3059\u306d\u3002<\/p>\n<\/span><\/span><\/span><\/div><\/div><\/div><\/div>\n\n\n

yaml\u3067\u306e\u8a2d\u5b9a<\/h2>\n\n\n\n

yaml\u306e\u8a18\u8ff0\u65b9\u6cd5<\/h3>\n\n\n\n

GSI\u306e\u4f5c\u6210\u306fTable\u306e\u4e2d\u306eGlobalSecondaryIndexes\u3067\u5b9a\u7fa9\u3067\u304d\u307e\u3059\u3002
\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u306b\u95a2\u3057\u3066\u306f\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30dd\u30ea\u30b7\uff08AWS::ApplicationAutoScaling::ScalingPolicy\uff09\u3068\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30bf\u30fc\u30b2\u30c3\u30c8\uff08AWS::ApplicationAutoScaling::ScalableTarget\uff09\u3067\u5b9a\u7fa9\u3001\u30a2\u30bf\u30c3\u30c1\u3057\u307e\u3059\u3002

\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3057\u3066\u3044\u308bServiceRoleForDynamoDB\u306e\u8a18\u8ff0\u306f\u30b5\u30fc\u30d3\u30b9\u30ed\u30fc\u30eb\u304c\u4f5c\u6210\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3092\u89e3\u9664\u3057\u3066\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n

ServiceRoleForDynamoDB<\/h3>\n\n\n\n

DynamoDB\u306b\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u3059\u308b\u305f\u3081\u306e\u6a29\u9650\u3092\u5272\u308a\u632f\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u306fAWS\u30b5\u30fc\u30d3\u30b9\u30ed\u30fc\u30eb\u3092\u4f7f\u3044\u307e\u3059\u3002\u52dd\u624b\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u304c\u3001\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306f\u4f5c\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n

\u30b5\u30f3\u30d7\u30ebyaml\u30b3\u30fc\u30c9<\/h3>\n\n\n\n

\u30c6\u30fc\u30d6\u30eb\u3068GSI\u3092\u4f5c\u6210\u3057\u3066\u305d\u308c\u305e\u308c\u306b\u5bfe\u3057\u3066\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u30b5\u30f3\u30d7\u30ebyaml\u3067\u3059\u3002
USER\u3068\u3044\u3046\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3057\u3066\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u4f5c\u6210\u3001USER_NAME\u3068\u3044\u3046GSI\u3092\u4f5c\u6210\u3057\u3066\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3057\u3066\u3044\u308bServiceRoleForDynamoDB\u306e\u8a18\u8ff0\u306f\u30b5\u30fc\u30d3\u30b9\u30ed\u30fc\u30eb\u304c\u4f5c\u6210\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3092\u89e3\u9664\u3057\u3066\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n

#AWS CloudFormation \u30b9\u30bf\u30c3\u30af\u3092\u4f5c\u6210\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u3067\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002\u5bfe\u8c61\u30ea\u30fc\u30b8\u30e7\u30f3\u3067\u30b9\u30bf\u30c3\u30af\u3092\u5c55\u958b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n#===============================================================================\n# CloudFormation Template\n#===============================================================================\nAWSTemplateFormatVersion: 2010-09-09\nDescription: DynamoDB Template\n\n#===============================================================================\n# Resources\n#===============================================================================\nResources:\n\n#-----------------------------------------------------------\n#ServiceLinkedRole\u306e\u6307\u5b9a\uff08\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u3092\u5b9f\u65bd\u3059\u308b\u30ed\u30fc\u30eb\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u30de\u30cd\u30fc\u30b8\u30c9\u3067\u3059\u3002\uff09\n#ServiceLinkedRole\u306f\u901a\u5e38\u81ea\u52d5\u3067\u4f5c\u6210\u3055\u308c\u307e\u3059\u304c\u3001\u4f5c\u6210\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3053\u3053\u306e\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3092\u5916\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n#-----------------------------------------------------------\n#  ServiceRoleForDynamoDB:\n#    Type: AWS::IAM::ServiceLinkedRole\n#    Properties:\n#      AWSServiceName: dynamodb.application-autoscaling.amazonaws.com\n#      Description: AWS Service Role for application AutoScaling DynamoDBTable\n\n#============================================================\n#USER\u30c6\u30fc\u30d6\u30eb\u4f5c\u6210\n#============================================================\n  tableUser:\n    Type: 'AWS::DynamoDB::Table'\n    Properties:\n      TableName: "USER"\n      AttributeDefinitions:\n       - AttributeName: ID\n         AttributeType: S\n       - AttributeName: NAME\n         AttributeType: S\n      KeySchema:\n       - AttributeName: ID\n         KeyType: HASH\n      ProvisionedThroughput:\n        ReadCapacityUnits: '1'\n        WriteCapacityUnits: '1'\n      PointInTimeRecoverySpecification: \n       PointInTimeRecoveryEnabled: false\n      #============================================================\n      #\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\uff08GSI\uff09\u306e\u4f5c\u6210\n      #============================================================\n      GlobalSecondaryIndexes:\n        - IndexName: USER_NAME\n          KeySchema:\n            - AttributeName: NAME\n              KeyType: HASH\n          Projection:\n            NonKeyAttributes:\n              - JOB\n              - OPTION\n            ProjectionType: INCLUDE\n          ProvisionedThroughput:\n            ReadCapacityUnits: '1'\n            WriteCapacityUnits: '1'\n\n#-----------------------------------------------------------\n# \u30c6\u30fc\u30d6\u30eb\u306b\u5bfe\u3057\u3066\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30bf\u30fc\u30b2\u30c3\u30c8\n#-----------------------------------------------------------\n\n  UsertableWriteCapacityScalableTarget:\n    Type: AWS::ApplicationAutoScaling::ScalableTarget\n    Properties:\n      MaxCapacity: 100\n      MinCapacity: 1\n      ResourceId: !Join\n        - \/\n        - - table\n          - !Ref tableUser\n      RoleARN: !Sub 'arn:aws:iam::${AWS::AccountId}:role\/aws-service-role\/dynamodb.application-autoscaling.amazonaws.com\/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable'\n      ScalableDimension: dynamodb:table:WriteCapacityUnits\n      ServiceNamespace: dynamodb\n\n  UsertableReadCapacityScalableTarget:\n    Type: AWS::ApplicationAutoScaling::ScalableTarget\n    Properties:\n      MaxCapacity: 100\n      MinCapacity: 1\n      ResourceId: !Join\n        - \/\n        - - table\n          - !Ref tableUser\n      RoleARN: !Sub 'arn:aws:iam::${AWS::AccountId}:role\/aws-service-role\/dynamodb.application-autoscaling.amazonaws.com\/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable'\n      ScalableDimension: dynamodb:table:ReadCapacityUnits\n      ServiceNamespace: dynamodb\n      \n#-----------------------------------------------------------\n# \u30c6\u30fc\u30d6\u30eb\u306b\u5bfe\u3057\u3066\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30dd\u30ea\u30b7\u30fc\n#-----------------------------------------------------------\n\n  UsertableWriteScalingPolicy:\n    Type: AWS::ApplicationAutoScaling::ScalingPolicy\n    Properties:\n      PolicyName: UsertableWriteAutoScalingPolicy\n      PolicyType: TargetTrackingScaling\n      ScalingTargetId: !Ref UsertableWriteCapacityScalableTarget\n      TargetTrackingScalingPolicyConfiguration:\n        PredefinedMetricSpecification:\n          PredefinedMetricType: DynamoDBWriteCapacityUtilization\n        TargetValue: 70\n\n  UsertableReadScalingPolicy:\n    Type: AWS::ApplicationAutoScaling::ScalingPolicy\n    Properties:\n      PolicyName: UsertableReadAutoScalingPolicy\n      PolicyType: TargetTrackingScaling\n      ScalingTargetId: !Ref UsertableReadCapacityScalableTarget\n      TargetTrackingScalingPolicyConfiguration:\n        PredefinedMetricSpecification:\n          PredefinedMetricType: DynamoDBReadCapacityUtilization\n        TargetValue: 70\n\n#-----------------------------------------------------------\n# GSI\u306b\u5bfe\u3057\u3066\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30bf\u30fc\u30b2\u30c3\u30c8\n#-----------------------------------------------------------\n\n  UserNameGsiWriteCapacityScalableTarget:\n    Type: AWS::ApplicationAutoScaling::ScalableTarget\n    Properties:\n      MaxCapacity: 20\n      MinCapacity: 1\n      ResourceId: !Join\n        - \/\n        - - table\n          - !Ref tableUser\n          - index\n          - USER_NAME\n      RoleARN: !Sub 'arn:aws:iam::${AWS::AccountId}:role\/aws-service-role\/dynamodb.application-autoscaling.amazonaws.com\/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable'\n      ScalableDimension: dynamodb:index:WriteCapacityUnits\n      ServiceNamespace: dynamodb\n\n  UserNameGsiReadCapacityScalableTarget:\n    Type: AWS::ApplicationAutoScaling::ScalableTarget\n    Properties:\n      MaxCapacity: 20\n      MinCapacity: 1\n      ResourceId: !Join\n        - \/\n        - - table\n          - !Ref tableUser\n          - index\n          - USER_NAME\n      RoleARN: !Sub 'arn:aws:iam::${AWS::AccountId}:role\/aws-service-role\/dynamodb.application-autoscaling.amazonaws.com\/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable'\n      ScalableDimension: dynamodb:index:ReadCapacityUnits\n      ServiceNamespace: dynamodb\n      \n#-----------------------------------------------------------\n# GSI\u306b\u5bfe\u3057\u3066\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30dd\u30ea\u30b7\u30fc\n#-----------------------------------------------------------\n\n  UserNameGsiWriteScalingPolicy:\n    Type: AWS::ApplicationAutoScaling::ScalingPolicy\n    Properties:\n      PolicyName: UsernamegsiWriteAutoScalingPolicy\n      PolicyType: TargetTrackingScaling\n      ScalingTargetId: !Ref UserNameGsiWriteCapacityScalableTarget\n      TargetTrackingScalingPolicyConfiguration:\n        PredefinedMetricSpecification:\n          PredefinedMetricType: DynamoDBWriteCapacityUtilization\n        TargetValue: 90\n\n  UserNameGsiReadScalingPolicy:\n    Type: AWS::ApplicationAutoScaling::ScalingPolicy\n    Properties:\n      PolicyName: UsernamegsiReadAutoScalingPolicy\n      PolicyType: TargetTrackingScaling\n      ScalingTargetId: !Ref UserNameGsiReadCapacityScalableTarget\n      TargetTrackingScalingPolicyConfiguration:\n        PredefinedMetricSpecification:\n          PredefinedMetricType: DynamoDBReadCapacityUtilization\n        TargetValue: 90<\/code><\/pre><\/div>\n\n\n\n

\u30b5\u30f3\u30d7\u30ebyaml\u30c7\u30d7\u30ed\u30a4<\/h3>\n\n\n\n

\u3053\u3061\u3089\u3092CloudFormation\u3067\u30b9\u30bf\u30c3\u30af\u3092\u4f5c\u6210\u3059\u308b\u3068\u30c6\u30fc\u30d6\u30eb\u3068GSI\u3001\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002<\/span><\/pre><\/p>\n\n\n\n
\"CloudFormation\u3067\u30b9\u30bf\u30c3\u30af\u3092\u751f\u6210\u3057\u305f\u753b\u9762\"
\u56f3\uff11CloudFormation\u3067\u30b9\u30bf\u30c3\u30af\u4f5c\u6210<\/figcaption><\/figure>\n\n\n\n

\u30c7\u30d7\u30ed\u30a4\u5f8cDynamoDB\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u4f5c\u6210\u3055\u308c\u308b<\/h3>\n\n\n\n

\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u304b\u3089DynamoDB\u3092\u78ba\u8a8d\u3059\u308b\u3068\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3068\u3068\u3082\u306b\u30c6\u30fc\u30d6\u30eb\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n\n\n\n

\"CloudFormation\u30b9\u30bf\u30c3\u30af\u66f4\u65b0\u5f8c\u3001DynamoDB\u30ea\u30bd\u30fc\u30b9\u304c\u4f5c\u6210\u3055\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u753b\u9762\"
\u56f3\uff12\u30c6\u30fc\u30d6\u30eb\u3068GSI\u304c\u4f5c\u6210\u3055\u308c\u305f\uff08\u5404\u3005AutoScalling\u4ed8\uff09<\/figcaption><\/figure>\n\n\n\n

\u30b3\u30f3\u30bd\u30fc\u30eb\u304b\u3089\u306e\u8a2d\u5b9a<\/h2>\n\n\n\n

\u30c6\u30fc\u30d6\u30eb\u306f\u4f5c\u6210\u3057\u3066\u3042\u308b\u524d\u63d0\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u8a2d\u5b9a\u3092\u9032\u3081\u307e\u3059\u3002<\/p>\n\n\n\n

\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u4f5c\u6210<\/h3>\n\n\n\n

Dynamodb\u2192\u30c6\u30fc\u30d6\u30eb\u2192\u5bfe\u8c61\u30c6\u30fc\u30d6\u30eb\u2192\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30bf\u30d6<\/span>\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u4f5c\u6210<\/span>\u3092\u62bc\u4e0b\u3059\u308b\u3068\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u306e\u8a2d\u5b9a\u304c\u3067\u304d\u307e\u3059\u3002
\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u500b\u5225\u306e\u7d30\u304b\u3044\u8a2d\u5b9a\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n

\"\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3059\u308b\"
\u56f3\uff13\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u304b\u3089GSI\u306e\u4f5c\u6210<\/figcaption><\/figure>\n\n\n\n

\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30ad\u30e3\u30d1\u30b7\u30c6\u30a3\u3068\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u306e\u8a2d\u5b9a<\/h3>\n\n\n\n

\u9077\u79fb\u3059\u308b\u753b\u9762\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30ad\u30e3\u30d1\u30b7\u30c6\u30a3\u3068\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u8a2d\u5b9a\u3092\u884c\u3048\u307e\u3059\u3002<\/p>\n\n\n\n

\"\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30ad\u30e3\u30d1\u30b7\u30c6\u30a3\u30fc\u306e\u8a2d\u5b9a\u753b\u9762\"
\u56f3\uff14\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u304b\u3089GSI\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u306e\u8a2d\u5b9a<\/figcaption><\/figure>\n\n\n\n

\u30b3\u30f3\u30bd\u30fc\u30eb\u4e0a\u304b\u3089\u306e\u8a2d\u5b9a\u3082\u4ee5\u4e0a\u3067\u3059\u3002<\/p>\n\n\n\n

PR
\u5f53\u30d6\u30ed\u30b0\u306fWordPress\u30c6\u30fc\u30deSWELL\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u975e\u5e38\u306b\u4f7f\u3044\u3084\u3059\u304f\u3001\u7c21\u5358\u306b\u30d7\u30ed\u306e\u3088\u3046\u306a\u30c7\u30b6\u30a4\u30f3\u3092\u4f7f\u3048\u308b\u306e\u3067\u304a\u52e7\u3081\u3067\u3059\uff01\uff01<\/p>\n\n\n\n

SWELL – \u30b7\u30f3\u30d7\u30eb\u7f8e\u3068\u6a5f\u80fd\u6027\u4e21\u7acb\u3092\u4e21\u7acb\u3055\u305b\u305f\u3001\u5727\u5dfb\u306eWordPress\u30c6\u30fc\u30de<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

DynamoDB\u3067\u306f\u30c6\u30fc\u30d6\u30eb\u3068\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30dd\u30ea\u30b7\u30fc\u3092\u5206\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u4ee5\u524d\u30de\u30cd\u30fc\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u4e0a\u304b\u3089\u306fGSI\u306b\u30c6\u30fc\u30d6\u30eb\u3068\u540c\u3058\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u3092\u9069\u7528\u3059\u308b\u3068\u3044\u3046\u9078\u629e\u80a2\u3057\u304b\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3044\u3064\u306e\u307e\u306b\u304b […]<\/p>\n","protected":false},"author":1,"featured_media":261,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","footnotes":""},"categories":[2],"tags":[30,66,40],"_links":{"self":[{"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/posts\/270"}],"collection":[{"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/comments?post=270"}],"version-history":[{"count":21,"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/posts\/270\/revisions"}],"predecessor-version":[{"id":3201,"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/posts\/270\/revisions\/3201"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/media\/261"}],"wp:attachment":[{"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/media?parent=270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/categories?post=270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sal-blog.com\/wp-json\/wp\/v2\/tags?post=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}